package com.kaikeba.dao;

import com.kaikeba.bean.Express;
import com.kaikeba.bean.UserExpress;

import java.util.List;
import java.util.Map;

public interface BaseUserExpressDao {

    /**
     * 用于查询总人数 + 日注册量
     * @return 返回一个集合{size:总数,day:日注册量}
     */
    public Map<String, Integer> console();

    /**
     * 用于查询所有快递
     * @param limit 是否分页标记，true表示分页，false表示查询所有快递
     * @param offset SQL语句的起始索引
     * @param pageNumber 页查询的数量
     * @return 快递的集合
     */
    List<UserExpress> findAll(boolean limit, int offset, int pageNumber);

    /**
     * 通过用户电话的号码查询用户所有信息
     * @param userPhone 用户电话号码
     * @return  返回用户信息
     */
    public UserExpress findByPhone(String userPhone);

    /**
     * 通过用户身份证号码查询用户所有信息
     * @param idCard 用户身份证号码
     * @return 返回用户信息
     */
    public UserExpress findByIdCard(String idCard);


    /**
     *  注册用户
     * @param e 用户信息
     * @return true表示注册成功 false表示注册失败
     */
    public boolean insert(UserExpress e);

    /**
     *  通过用户id修改用户信息
     * @param id 用户id
     * @param newUserExpress 用户新的信息
     * @return true 修改成功  false 修改失败
     */
    public boolean update(int id,UserExpress newUserExpress);


    /**
     *  根据用户id删除快递
     * @param id 用户id
     * @return true表示删除成功 false 表示删除失败
     */
    public boolean delete(int id);


}
